class Solution {
public:
    int wiggleMaxLength(vector<int>& nums) {
        int ret = 1, left = 0, n = nums.size(); // left是左边的增长趋势
        for(int i = 0; i < n - 1; ++i)
        {
            int right = nums[i + 1] - nums[i]; // 用到i+1，所以上面遍历到n-1
            if(right == 0)
                continue; // 跳过中间相同的点
            if(left * right <= 0) // 加等号是第一次。left等于0且后面还有不同元素的情况
                ++ret;
            left = right;
        }
        return ret;
    }
};